import {KuiPopupProps} from './type';
import {PropType, inject} from 'vue';
import { configProviderInjectionKey } from '../kui-config-provider/type';

export default {
	/**
	 * 宽度
	 */
	width: {
		type: String,
		default: ''
	},
	/**
	 * 高度
	 */
	height: {
		type: String,
		default: ''
	},
	/**
	 * 定位
	 */
	position: {
		type: String as PropType<KuiPopupProps['position']>,
		default: 'center' as KuiPopupProps['position']
	},
	/**
	 * 点击遮罩是否关闭
	 */
	closeOnClickMask: {
		type: Boolean,
		default: true
	},
	/**
	 * 圆角大小
	 */
	radiusSize: {
		type: String as PropType<KuiPopupProps['radiusSize']>,
		default: 'base' as KuiPopupProps['radiusSize']
	},
	/**
	 * 是否展示
	 */
	show: {
		type: Boolean,
		default: false
	},
	/**
	 * 是否显示图标
	 */
	showIcon: {
		type: Boolean,
		default: false
	},
	/**
	 * 图标位置
	 */
	closeIconPosition: {
		type: String as PropType<KuiPopupProps['closeIconPosition']>,
		default: 'right' as KuiPopupProps['closeIconPosition']
	},
	/**
	 * 图标类型
	 */
	closeIconType: {
		type: String,
		default: 'cancel'
	},
	/**
	 * @zh 关闭图标颜色
	 */
	closeIconColor: {
		type: String,
		default: 'rgba(0,0,0,0.5)'
	},
	/**
	 * @zh 关闭图标大小
	 */
	closeIconSize: {
		type: Number,
		default: 40
	},
	/**
	 * 页面模式
	 */
	mode: {
		type: String as PropType<KuiPopupProps['mode']>,
		default: () => inject(configProviderInjectionKey, undefined)?.mode ?? 'light'
	}
}